package com.qiall.project.ability;

import com.qiall.common.entity.PageResponse;
import com.qiall.common.exception.BusinessResult;
import com.qiall.common.request.BaseRequest;
import com.qiall.common.request.BaseResponse;
import com.qiall.project.ability.request.AddProjectRequest;
import com.qiall.project.ability.request.GetProjectByPageRequest;
import com.qiall.project.ability.request.GetProjectRequest;
import com.qiall.project.ability.request.ProjectResponse;

import java.util.List;

/**
 * @author 吴金辉
 */
public interface ProjectService {

    /**
     * 新增项目
     */
    BusinessResult<BaseResponse> addOrUpdateProject(AddProjectRequest request);


    /**
     * 查询查询项目
     *
     * @param getProjectRequest
     * @return
     */
    BusinessResult<ProjectResponse> getProject(GetProjectRequest getProjectRequest);

    /**
     * 分页查询项目信息
     * @param getProjectByPageRequest
     * @return
     */
     BusinessResult<PageResponse<ProjectResponse>> getProjectByPage(GetProjectByPageRequest getProjectByPageRequest);


     BusinessResult<List<ProjectResponse>> getCurrentOrgProject(BaseRequest baseRequest);
}
